package emp.jsf.servicio.impl;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import emp.entidades.EntEmpresa;
import emp.entidades.EntTipoCambio;
import emp.entidades.EntUbigeo;
import emp.jsf.servicio.EmpresaService;
import emp.repositorios.EmpresaRepository;

@Service("empresaService")
public class EmpresaServiceImpl implements EmpresaService{

	@Autowired
	EmpresaRepository empresaRepository;
	
	@Transactional
	@Override
	public List<EntEmpresa> listarEmpresas(){
		List<EntEmpresa> lista;
		lista=empresaRepository.findAll();
		if (lista != null && lista.size() > 0 && lista.get(0).getEntUbigeo() != null) {
			lista.get(0).getEntUbigeo().getDescripcion();
		}
		return lista;
	}
	
	
	public EntEmpresa listarEmpresaPorCodigo(String codigo){ 
		EntEmpresa e=empresaRepository.listarEmpresaPorCodigo(Long.valueOf(codigo));
		if (e != null && e.getEntUbigeo() != null) {
			e.getEntUbigeo().getDescripcion();
		}
		return e;
	}
	
	public EntEmpresa grabarEmpresa(EntEmpresa ent){
		return empresaRepository.save(ent);
	}
	
	public void eliminar(String id){
		EntEmpresa ent=empresaRepository.findOne(Long.valueOf(id));
		empresaRepository.delete(ent);
	}

	public List<EntUbigeo> listarEmpresaUbigeos(){
		return empresaRepository.findAll(EntUbigeo.class);
	}

}
